package chapter04.s01subclass.example01;


//在Java中，类的继承是指在一个现有类的基础上去构建一个新的类，构建出来的新类被称作子类，现有类被称作父类。
//子类继承父类的属性和方法，使得子类对象（实例）具有父类的特征和行为。

// 定义Animal类 -- 父类
class Animal {
    private String name;                    // 定义name属性
    private int age;                        // 定义name属性

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

// 定义Dog类继承Animal类
// Dog类中并没有定义任何操作，而是通过 extends关键字 继承了Animal类，成为了Animal类的子类。
class Dog extends Animal {
    //此处不写任何代码
}

// 定义测试类
public class Example01 {
    public static void main(String[] args) {
        //子类虽然没有定义任何属性和方法，但是却能调用父类的方法。
        // 这就说明，子类在继承父类的时候，会自动继承父类的成员。
        Dog dog = new Dog();    // 创建一个Dog类的实例对象
        dog.setName("牧羊犬");   // 此时访问的方法时父类中的，子类中并没有定义
        dog.setAge(3);           // 此时访问的方法时父类中的，子类中并没有定义

        //dog 是子类，不能访问父类的 私有属性
        //dog.name = "sdfsd";

        System.out.println("名称：" + dog.getName() + ",年龄：" + dog.getAge());
    }
}
